package com.star.mentor.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.star.mentor.dto.EvaluationItemSaveDTO;
import com.star.mentor.dto.EvaluationItemUpdateDTO;
import com.star.mentor.entity.EvaluationItem;
import com.star.mentor.vo.EvaluationItemDetailVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 评估项目明细 服务类
 *
 * @author yangzj
 */
public interface EvaluationItemService extends IService<EvaluationItem> {

    /**
     * 保存批量
     *
     * @param items        项目
     * @param evaluationId 评价ID
     */
    void saveBatch(List<EvaluationItemSaveDTO> items, Long evaluationId);

    /**
     * 更新批量
     *
     * @param items        项目
     * @param evaluationId 评价ID
     */
    void updateBatch(List<EvaluationItemUpdateDTO> items, Long evaluationId);

    /**
     * 删除通过评价ID
     *
     * @param evaluationId 评价ID
     */
    void deleteByEvaluationId(Long evaluationId);

    /**
     * 列表详情
     *
     * @param evaluationId 评价ID
     * @return {@link List}<{@link EvaluationItemDetailVO}>
     */
    List<EvaluationItemDetailVO> listDetail(Long evaluationId);

    /**
     * 列表详情+评估得分
     *
     * @param evaluationId       评估ID
     * @param mentorEvaluationId 导师评估ID
     * @return {@link List}<{@link EvaluationItemDetailVO}>
     */
    List<EvaluationItemDetailVO> listEvaluation(@Param("evaluationId") Long evaluationId, @Param("mentorEvaluationId") Long mentorEvaluationId);

}
